package com.dhcc.core.framework.lucene;

import java.util.List;

import com.baomidou.mybatisplus.plugins.Page;
import com.dhcc.core.framework.lucene.util.IndexObject;

/**
 * lucene 接口
 * 
 * @ClassName: ISearcher
 * @Description: TODO
 * @author: cyf
 * @date: 2018年3月22日 下午7:52:37
 */
public interface ISearcher {

    public void init();

    /**
     * 创建索引
     * 
     * @param bean
     */
    public void create(IndexObject bean);

    /**
     * 根据ID删除
     * 
     * @param beanId
     */
    public void delete(String beanId);

    /**
     * 删除所有
     */
    public void deleteAll();

    /**
     * 更新检索文档
     * 
     * @param bean
     */
    public void update(IndexObject bean);

    /**
     * 分页关键字查询
     * 
     * @param pageNum
     * @param pageSize
     * @param keyword
     * @return
     */
    public Page<IndexObject> search(Integer pageNum, Integer pageSize, String keyword,String siteId);

    /**
     * 重建索引
     * 
     * @param list
     *            初始blog列表
     */
    public void reloadIndex(List<IndexObject> list);
}
